From: Florian Müllner Date: Mon, 20 Feb 2012 07:33:49 +0000 (+0100) Subject: app-system: Don't assume that gmenu_tree_load_sync() sets error X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7008 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=b990ed2c232e85b37630fdf0b8daad5727212013;p=gnome-shell.git app-system: Don't assume that gmenu_tree_load_sync() sets error The function may return FALSE without setting the GError, so don't assume it is set to prevent a crash in that case. While at it, free the GError we were leaking before. https://bugzilla.gnome.org/show_bug.cgi?id=670418 --- diff --git a/src/shell-app-system.c b/src/shell-app-system.c index f6c8c0114..a80b23398 100644 --- a/src/shell-app-system.c +++ b/src/shell-app-system.c @@ -320,7 +320,15 @@ on_apps_tree_changed_cb (GMenuTree *tree, if (!gmenu_tree_load_sync (self->priv->apps_tree, &error)) { - g_warning ("Failed to load apps: %s", error->message); + if (error) + { + g_warning ("Failed to load apps: %s", error->message); + g_error_free (error); + } + else + { + g_warning ("Failed to load apps"); + } return; } @@ -411,7 +419,15 @@ on_settings_tree_changed_cb (GMenuTree *tree, g_hash_table_remove_all (self->priv->setting_id_to_app); if (!gmenu_tree_load_sync (self->priv->settings_tree, &error)) { - g_warning ("Failed to load settings: %s", error->message); + if (error) + { + g_warning ("Failed to load apps: %s", error->message); + g_error_free (error); + } + else + { + g_warning ("Failed to load apps"); + } return; }